﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Etong.Web;
/// <summary>
///Sql2000ColumnType 的摘要说明
/// </summary>
public class Sql2000ColumnType:IDBColumnDataType
{
	public Sql2000ColumnType()
	{
		//
		//TODO: 在此处添加构造函数逻辑
		//
	}

    #region IDBColumnDataType 成员

    public ColumnDataType GetColumnDataType(string typeStr)
    {
        switch (typeStr.ToLower())
        {
            case "int":
            case "float":
                return ColumnDataType.Number;
            case "datetime":
                return ColumnDataType.DateTime;
            case "bit":
                return ColumnDataType.Bool;
            default:
                return ColumnDataType.Text;
        }
    }

    #endregion

    #region IDBColumnDataType 成员


    public string GetSqlValue(string str, ColumnDataType dataType)
    {
        switch (dataType)
        {
            case ColumnDataType.Bool:
                if (string.IsNullOrEmpty(str))
                {
                    return "0";
                }
                if (str.ToLower() == "true")
                {
                    return "1";
                }
                else
                {
                    return "0";
                }
            case ColumnDataType.Number:
                double temp = 0;
                if (double.TryParse(str, out temp))
                {
                    return str;
                }
                else
                {
                    return "0";
                }
            default:
                if (!string.IsNullOrEmpty(str))
                {
                    return "'" + str.ToSql() + "'";
                }
                else
                {
                    return "''";
                }
        }
    }

    #endregion

    #region IDBColumnDataType 成员


    public string GetDateDiffDateParam()
    {
        return "d";
    }

    #endregion
}
